import { PublicUser, UserCredentials } from '../types/userTypes';

export const UserServiceToken = 'IUserService';

export interface IUserService {
  createUser(credentials: UserCredentials): Promise<PublicUser>;
  getUserById(id: string): Promise<PublicUser | null>;
  authenticate(username: string, password: string): Promise<PublicUser | null>;
  setStatus(userId: string, status: string): Promise<void>;
  listOnlineUsers(): Promise<PublicUser[]>;
}
